CREATE TABLE cartao (
  codigo INTEGER  NOT NULL identity,
  nome VARCHAR(20) NULL,
  taxa money  NULL,
  PRIMARY KEY(codigo)
);




CREATE TABLE cliente (
  codigo INTEGER NOT NULL identity,
  nome VARCHAR(100) NULL,
  endereco VARCHAR(50) NULL,
  email VARCHAR(255) NULL,
  bairro VARCHAR(30) NULL,
  cidade VARCHAR(30) NULL,
  cep VARCHAR(8) NULL,
  estado CHAR(2) NULL,
  fone VARCHAR(10) NULL,
  celular VARCHAR(10) NULL,
  cpf VARCHAR(11) NULL,
  obs VARCHAR(255) NULL,
  rg VARCHAR(20) NULL,
  orgaorg VARCHAR(10) NULL,
  nascimento DATE NULL,
  desde DATE NULL,
  cnpj VARCHAR(14) NULL,
  insest VARCHAR(20) NULL,
  sexo CHAR(1) NULL,
  profissao VARCHAR(20) NULL,
  empresa VARCHAR(50) NULL,
  foneemp VARCHAR(10) NULL,
  renda money NULL,
  referencia VARCHAR(50) NULL,
  foneref VARCHAR(10) NULL,
  auditoria VARCHAR(50) NULL,
  PRIMARY KEY(codigo)
);

CREATE TABLE funcionario (
  codigo INTEGER  NOT NULL identity,
  nome VARCHAR(50) NULL,
  endereco VARCHAR(50) NULL,
  email VARCHAR(255) NULL,
  bairro VARCHAR(30) NULL,
  cidade VARCHAR(30) NULL,
  cep VARCHAR(8) NULL,
  estado CHAR(2) NULL,
  fone VARCHAR(10) NULL,
  celular VARCHAR(10) NULL,
  cpf VARCHAR(11) NULL,
  rg VARCHAR(20) NULL,
  orgaorg VARCHAR(10) NULL,
  posse DATE NULL,
  cargo VARCHAR(20) NULL,
  comissao money NULL,
  login VARCHAR(10) NULL,
  senha VARCHAR(10) NULL,
  auditoria VARCHAR(50) NULL,
  actotal CHAR(1) NULL,
  PRIMARY KEY(codigo)
);



CREATE TABLE c_venda (
  codigo INTEGER  NOT NULL identity,
  funcionario_codigo INTEGER  NOT NULL,
  cliente_codigo INTEGER  NOT NULL,
  cartao_codigo INTEGER  NOT NULL,
  datavenda DATE NULL,
  valor money NULL,
  desconto money NULL,
  total money NULL,
  numparcelas INTEGER  NULL,
  privenc DATE NULL,
  numnota INTEGER  NULL,
  auditoria VARCHAR(50) NULL,
  PRIMARY KEY(codigo)
  );
  
  
  
	ALTER TABLE [dbo].[c_venda]  WITH CHECK ADD  CONSTRAINT [c_venda_FKIndex1] 
	FOREIGN KEY([cartao_codigo])
	REFERENCES [dbo].[cartao] ([Codigo]);
	
	ALTER TABLE [dbo].[c_venda]WITH CHECK ADD  CONSTRAINT [c_venda_FKIndex2] 
	FOREIGN KEY([cliente_codigo])
	REFERENCES [dbo].[cliente] ([Codigo]);
	
	ALTER TABLE [dbo].[c_venda]WITH CHECK ADD  CONSTRAINT [c_venda_FKIndex5] 
	FOREIGN KEY([funcionario_codigo])
	REFERENCES [dbo].[funcionario] ([Codigo])



CREATE TABLE d_venda (
  produto_codigo VARCHAR(13) NOT NULL,
  c_venda_codigo INTEGER  NOT NULL,
  qtde INTEGER NULL,
  vlrunitario money NULL,
  vlrtotal money NULL);
  
  INDEX d_venda_FKIndex1(c_venda_codigo),
  INDEX d_venda_FKIndex2(produto_codigo)

ALTER TABLE [dbo].[d_Venda]  WITH CHECK ADD  CONSTRAINT [d_venda_FKIndex1] 
FOREIGN KEY([c_venda_codigo])
REFERENCES [dbo].[c_venda] ([Codigo])
GO



ALTER TABLE [dbo].[d_Venda]  WITH CHECK ADD  CONSTRAINT [d_venda_FKIndex2] 
FOREIGN KEY([produto_codigo])
REFERENCES [dbo].[produto] ([Codigo])
GO



CREATE TABLE produto (
  codigo VARCHAR(13) NOT NULL,
  unidade_codigo INTEGER  NOT NULL,
  fornecedor_codigo INTEGER  NOT NULL,
  descricao VARCHAR(50) NULL,
  vlrcompra money NULL,
  vlrvenda money NULL,
  estoque INTEGER  NULL,
  critico INTEGER  NULL,
  auditoria VARCHAR(50) NULL,
  PRIMARY KEY(codigo)
  
);



CREATE TABLE unidade (
  codigo INTEGER  NOT NULL identity,
  descricao VARCHAR(10) NULL,
  PRIMARY KEY(codigo)
);




ALTER TABLE [dbo].[produto]  WITH CHECK ADD  CONSTRAINT [produto_FKIndex1] 
FOREIGN KEY([fornecedor_codigo])
REFERENCES [dbo].[fornecedor] ([Codigo])
GO



ALTER TABLE [dbo].[produto]  WITH CHECK ADD  CONSTRAINT [produto_FKIndex2] 
FOREIGN KEY([unidade_codigo])
REFERENCES [dbo].[unidade] ([Codigo])
GO






CREATE TABLE fornecedor (
  codigo INTEGER  NOT NULL identity,
  nome VARCHAR(100) NULL,
  endereco VARCHAR(50) NULL,
  email VARCHAR(255) NULL,
  bairro VARCHAR(30) NULL,
  cidade VARCHAR(30) NULL,
  cep VARCHAR(8) NULL,
  estado CHAR(2) NULL,
  fone VARCHAR(10) NULL,
  celular VARCHAR(10) NULL,
  cpf VARCHAR(11) NULL,
  obs VARCHAR(255) NULL,
  rg VARCHAR(20) NULL,
  orgaorg VARCHAR(10) NULL,
  desde DATE NULL,
  cnpj VARCHAR(14) NULL,
  insest VARCHAR(20) NULL,
  fax VARCHAR(10) NULL,
  contato VARCHAR(20) NULL,
  auditoria VARCHAR(50) NULL,
  PRIMARY KEY(codigo)
);
